package com.xjscrm.server.enums;

/**
 * Redis缓存Key
 */
public enum LimitRedisCacheKeyEnum {

    //拉群限制key,同一个规则同一个客户一天只能触发一次
    LIMIT_GROUP_PULL_CONFIG("limit_group_pull_config_%s_%s", "拉群限制key,同一个规则同一个客户一天只能触发一次。参数：方案id、客户wxid, 有效期:1天"),

    //单客户拉群每天添加上限数
    LIMIT_GROUP_PULL_DAY_MAX("limit_group_pull_day_max_%s", "单客户拉群每天添加上限数，如：1000；参数：拉群配置id; 有效期: 离当天晚上24点的时间秒差值"),

    //入群欢迎语人数触发限制，参数为方案id, 群wxid
    LIMIT_GROUP_WELCOME_MEMBER_COUNT("limit_group_welcome_member_count_%s_%s", "入群欢迎语每天进群人数触发，如：1000；参数：欢迎语配置id，群wxid; 有效期: 离当天晚上24点的时间秒差值"),

    //入群欢迎语时间触发限制，参数为方案id, 群wxid
    LIMIT_GROUP_WELCOME_JOIN_TIME("limit_group_welcome_join_time_%s_%s", "入群欢迎语每隔几秒触发，如：10秒；参数：欢迎语配置id，群wxid; 有效期: 每隔几秒值"),

    //SOP退订消息指令
    SOP_JOB_UNSUBSCRIBE_KEYWORD("sop_job_unsubscribe_%s_%s_%s_%s", "sopJob任务的退订指令，如：10秒；参数：merId_deviceUd_wxid_退订指令; 有效期: 60秒"),

    /**
     * 智能应答图片回复-同一对象触发图片回复后多少时间内忽略图片
     * 参数为 faqReplyId_deviceId_会话id_发送者wxid
     */
    LIMIT_FAQREPLY_IMG_REPEAT_TIME("limit_faqreply_img_repeat_time_%s", "智能回复图片回复同一对象图片回复后多少时间内忽略图片，如：10秒; 有效期: 页面配置的时间"),

    /**
     * 智能应答图片回复-一分钟收到同一对象多少张图片才回复
     * 参数为 faqReplyId_deviceId_会话id_发送者wxid
     */
    LIMIT_FAQREPLY_IMG_PER_SECOND_SEND_NUM("limit_faqreply_img_per_second_send_num_%s", "智能回复图片回复同一对象图片回复后多少时间内忽略图片，如：几张; 有效期: 60秒"),

    /**
     * 记录机器人通过好友的时间缓存
     * 参数为 deviceUniqueId
     */
    WW_FRIEND_REQ_LAST_ADD_TIME("ww_friend_req_last_add_time_%s", "记录机器人通过好友的时间缓存; 有效期: 距离上次通过好友的时间秒数"),

    ;

    private String key;
    private String desc;

    LimitRedisCacheKeyEnum(String key, String desc) {
        this.key = key;
        this.desc = desc;
    }

    public String getKey() {
        return key;
    }

    public String getDesc() {
        return desc;
    }
}
